﻿function xmlBeforeSendUpload() {
    $.fn.jqLoading({
        height: 100,
        width: 240,
        text: "正在上传中，请耐心等待...."

    });
}


/**
 * 项目 logo图片上传绑定事件
 * @param
 * @returns
 */
function bindLogoFileChange(fileId, imgId, txtAddressId, lnkImgId) {
    /**
     *  上传
     *  下面 的修改方法有点奇葩，但是为了兼容IE10 修改了3点
     *1：控制器端返回字符串； 2：返回类型改成text/html 3：修改了ajaxfileupload.js
     */

    $("#" + fileId).change(function () {
        //图片格式验证
        // 头像支持jpg/gif/jpeg/bmp/png格式，最大不超过1M
        var imgType = /\.jpg$|\.gif$|\.jpeg$|\.bmp$|\.png$/i;
        if (!imgType.test($("#" + fileId).val())) {
            alert("你不能上传该类型文件,文件类型只能是*.jpg,*.gif,*.jpeg,*.bmp,*.png。", BootstrapDialog.TYPE_WARNING);
            $("#" + fileId).val("");
            return;
        }
        //图片大小验证
        try {
            if (window.File && window.FileReader && window.FileList && window.Blob) {
                //get the file size and file type from file input field
                var fsize = $("#" + fileId)[0].files[0].size;
                if (fsize > 1048576) {
                    alert("上传出错！请确保图片最大不超过1M。", BootstrapDialog.TYPE_WARNING);
                    return;
                } else {
                    // alert(fsize +" bites\nYou are good to go!");
                }
            } else {
                // alert("Please upgrade your browser, because your current browser lacks some new features we need!");
            }
        } catch (exception) {
        }


        xmlBeforeSendUpload();
        // alert( $('#basePath').attr("value")+"/file/fileUpload");
        $.ajaxFileUpload({
            url: $('#basePath').attr("value")+"/file/fileUpload", // 用于文件上传的服务器端请求地址
            secureuri: false, // 是否需要安全协议，一般设置为false
            fileElementId: fileId, // 文件上传域的ID
            //dataType: 'text/html', // 返回值类型 一般设置为json
            dataType: 'json', // 返回值类型 一般设置为json
            // beforeSend : xmlBeforeSend,
            success: function (data, status) // 服务器成功响应处理函数
            {
                $.fn.jqLoading("destroy");

                // if (data.flag == 1) {
                //     $("#" + imgId).attr("src", data.body.picAddress);
                //     $("#" + txtAddressId).val(data.body.picAddress);
                //     // 弹出层图片地址修改
                //     $("#" + imgId).parent().attr("href", data.body.picAddress)
                // } else {
                //     alert("上传出错！");
                // }
                if (data.result == "success") {
                    $("#" + imgId).attr("src",  $('#basePath').attr("value") + data.imgUrl);
                    $("#" + lnkImgId).attr("href",  $('#basePath').attr("value") + data.imgUrl);
                    $("#" + txtAddressId).val( $('#basePath').attr("value") + data.imgUrl);
                    alert($("#imgUrl").val());
                }else {
                    alert("上传出错！", BootstrapDialog.TYPE_DANGER);

                }
                bindLogoFileChange(fileId, imgId, txtAddressId, lnkImgId);
            },
            error: function (data, status, e)// 服务器响应失败处理函数
            {
                $.fn.jqLoading("destroy");
                alert("上传出错！", BootstrapDialog.TYPE_DANGER);
            }
        });
    });
}


$(document).ready(function () {

    $.fn.modal.Constructor.prototype.enforceFocus = function () { };

    $("#editModal").on("shown.bs.modal", function () {


    })

    /**
     *  照片上传
     */
    bindLogoFileChange("fileImg", "imgID", "imgUrl", "lnkImg");



    $.ajax({
        // 提交数据的类型 POST GET
        type: "POST",
        // 提交的网址
        url: $('#basePath').attr("value")+"/user/getUserlistByName",
        // 提交的数据
        data: {
            name: $('#searchName').val(),
            start: 0,
            length: 100,
        },
        // 返回数据的格式
        datatype: "json",
        // 在请求之前调用的函数
        // beforeSend: xmlBeforeSend,
        // 成功返回之后调用的函数
        success: function (data) {
            //$.fn.jqLoading("destroy");

            if (data != null && data.length > 0) {
                var jsonArray = [];

                for (var i = 0; i <= data.length - 1; i++) {
                    jsonArray.push(data[i].name);
                }

                $('#searchName').typeahead({
                    source: jsonArray
                });


            } else {

            }
        }//,
        // 调用出错执行的函数
        //error: xmlError
    });


    // 追加按钮
    $("#btnAdd").click(function () {
        clearAll();

        $("#hiddenId").val("");

        $("#editModal").modal('show');
        //$('#editModal').modal({ backdrop: 'static', keyboard: false });

    });

    /**
   *  查询按钮按下
   */
    $("#btnFind").click(function () {
        findRecord();
    });

    /**
     *  页面加载完毕查询
     */
    reBindTable();


    /**
* 保存确定按钮
*/
    $("#btnSave").click(function () {

        if ("" == $("#name").val().trim()) {
            $("#name").tooltip('show');
            return false;
        }
        if ("" == $("#password").val().trim()) {
            $("#password").tooltip('show');
            return false;
        }
        if ("" == $("#email").val().trim()) {
            $("#email").tooltip('show');
            return false;
        }
        if ("" == $("#phonenumber").val().trim()) {
            $("#phonenumber").tooltip('show');
            return false;
        }

        if ("" == $("#imgUrl").val().trim()) {
            alert("照片没有上传！", BootstrapDialog.TYPE_WARNING);
            return false;
        }

        var url;
        if ($("#hiddenId").val() == "") {
            url = $('#basePath').attr("value")+"/user/addSaveUserData"; // "/FileData/addSaveFileData";
        }
        else {
            url =$('#basePath').attr("value")+"/user/updateSaveUserData";// "/FileData/updateSaveFileData";
        }
        var imgUrlStr = $("#imgUrl").val();
        if (imgUrlStr == "") {
            imgUrlStr = "/upload/default.png";
        }
        imgUrlStr=   imgUrlStr.toString().replace($('#basePath').attr("value"),"");
        $.ajax({
            // 提交数据的类型 POST GET
            type: "POST",
            // 提交的网址
            url: url,
            // 提交的数据
            data: {
                id: Number($("#hiddenId").val()),
                name: $("#name").val(),
                password: $("#password").val(),
                email: $("#email").val(),
                phonenumber: $("#phonenumber").val(),
                userimg: imgUrlStr
            },
            // 返回数据的格式
            datatype: "json",
            // 在请求之前调用的函数
            beforeSend: xmlBeforeSend,
            // 成功返回之后调用的函数
            success: function (data) {
                $.fn.jqLoading("destroy");
                if (data != null && data.result == "success") {
                    $("#editModal").modal('hide');
                    $("#btnFind").click();
                } else {
                    alert(data.message, BootstrapDialog.TYPE_DANGER);
                }
                //alert(data);
            },
            // 调用出错执行的函数
            error: xmlError
        });
    });


    /**
     *  ENTER键按下自动查询
     */
    $("#searchName").keydown(function (e) {
        var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode; //兼容IE 火狐 谷歌
        if (keyCode == 13) {
            findRecord();
            return false;
        }
    });




});

/**
 * 删除批量照片
 */
function delImg(lnkDel) {

    $(lnkDel).parent().remove();
    var storeAddressId = "store" + $(lnkDel).attr("id").replace("lnkimgStore", "");
    // alert(storeAddressId);
    $("#" + storeAddressId).val("");
}
//
// function datEdit(id) {
//
//     clearAll();
//
//     $("#hiddenId").val(id);
//
//     $.ajax({
//         // 提交数据的类型 POST GET
//         type: "POST",
//         // 提交的网址
//         url: $('#basePath').attr("value")+"/user/getUserById",
//         // 提交的数据
//         data: { id: Number($("#hiddenId").val()) },
//         // 返回数据的格式
//         datatype: "json",
//         // 在请求之前调用的函数
//         beforeSend: xmlBeforeSend,
//         // 成功返回之后调用的函数
//         success: function (data) {
//
//             $.fn.jqLoading("destroy");
//
//             if (data != null) {
//                 $("#name").val(data.name);
//                 $("#password").val(data.password);
//                 $("#email").val(data.email);
//                 $("#phonenumber").val(data.phonenumber);
//                 $("#imgID").attr("src", $('#basePath').attr("value")+data.userimg);
//                 $("#lnkImg").attr("href", $('#basePath').attr("value")+data.userimg);
//                 $("#imgUrl").val($('#basePath').attr("value")+data.userimg);
//                 $("#editModal").modal('show');
//             }
//
//
//             //alert(data);
//         },
//         // 调用出错执行的函数
//         error: xmlError
//     });
//
// }

/*
清空
*/
function clearAll() {

    $("#name").val("");
    $("#password").val("");
    $("#phonenumber").val("");
    $("#email").val("");

    //项目照片 开始
    $("#lnkImg").attr("href", $('#basePath').attr("value")+"/upload/default.png");
    $("#imgID").attr("src", $('#basePath').attr("value")+"/upload/default.png");
    $("#imgUrl").val("");


}

/*删除
*/

function datDelete(id) {

    BootstrapDialog.confirm({
        title: '提示',
        message: '确实要删除这条记录吗？',
        size: BootstrapDialog.SIZE_SMALL,
        type: BootstrapDialog.TYPE_DEFAULT,
        closable: true,
        btnCancelLabel: '取消',
        btnOKLabel: '确定',
        callback: function (result) {
            if (result) {
                datDelete2(id);
            }
        }
    });
    //var result = confirm("确实要删除这条记录吗？");
    //if (result == true) {
    //    datDelete2(id);
    //}

}


function datDelete2(id) {
    $.ajax({
        // 提交数据的类型 POST GET
        type: "POST",
        // 提交的网址
        url: $('#basePath').attr("value")+"/user/delete",//"/FileData/Delete",
        // 提交的数据
        data: {
            id: id,
        },
        // 返回数据的格式
        datatype: "json",
        // 在请求之前调用的函数
        beforeSend: xmlBeforeSend,
        // 成功返回之后调用的函数
        success: function (data) {

            $.fn.jqLoading("destroy");
            if (data != null && data.result == "success") {

                $("#btnFind").click();

            } else {
                alert(data.message, BootstrapDialog.TYPE_DANGER);

            }


            //alert(data);
        },
        // 调用出错执行的函数
        error: xmlError
    });

}


var dataTables;
function reBindTable() {

    /**
     * 页面表格
     * 
   */
    // alert($('#basePath').attr("value")+"/user/part");

    dataTables = $('#fanDt').dataTable({
        //language: {
        //    url: "../../../../../lib/inspinia/js/Chinese.json"
        //},
        language: {
            "sProcessing": "处理中...",
            "sLengthMenu": "显示 _MENU_ 项结果",
            "sZeroRecords": "没有匹配结果",
            "sInfo": "显示第 _START_ 至 _END_ 项结果，共 _TOTAL_ 项",
            "sInfoEmpty": "显示第 0 至 0 项结果，共 0 项",
            "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
            "sInfoPostFix": "",
            "sSearch": "搜索:",
            "sUrl": "",
            "sEmptyTable": "表中数据为空",
            "sLoadingRecords": "载入中...",
            "sInfoThousands": ",",
            "oPaginate": {
                "sFirst": "首页",
                "sPrevious": "上页",
                "sNext": "下页",
                "sLast": "末页"
            },
            "oAria": {
                "sSortAscending": ": 以升序排列此列",
                "sSortDescending": ": 以降序排列此列"
            }

        },

        processing: true,
        serverSide: true,
        ajax: {
            url:  $('#basePath').attr("value")+"/user/part",// "/FileData/part",
            type: 'POST'

        },
        columnDefs: [
               {
                   "targets": 0,
                   "bVisible": true,
                   "render": function (data, type, row, meta)
                   {
                       var thishtml = " <img alt='image' class=\"rounded-circle\" src='"+$('#basePath').attr("value")+ row[0] +"' style='width:50px;height:50px; max-width:50px;' />";
                       return thishtml;
                   }
               },
                {
                    "targets": 5,
                    "bVisible": true,
                    "render": function (data, type, row, meta)
                    {
                         var thishtml = "<a class='btn btn-primary btn-sm'  onclick='datEdit(" + "\"" + row[5] + "\"" + ")'>修改" +
                        "<i class='glyphicon glyphicon-edit'></i></a>&nbsp;<a class='btn btn-danger btn-sm' attrbtndel='attrbtndel' onclick='datDelete(" + "\"" + row[5] + "\"" + ")'>删除" +
                        "<i class='glyphicon glyphicon-trash'></i></a>";
                         return thishtml;
                    }
                }

         //    {
         //        "targets": 0,
         //        "bVisible": false
         //    }, {
         //        "targets": 7,
         //        "bVisible": false
         //    }, {
         //        "targets": 10,
         //        "render": function (data, type, row, meta) {
         //
         //            var thishtml = "";
         //
         //            if ($("#hiddenquanxianflag")) {
         //
         //                if ($("#hiddenquanxianflag").val() == "1") {
         //                    thishtml = "<a class='btn btn-primary btn-sm'  onclick='datEdit(" + "\"" + row[10] + "\"" + ")'>查看" +
         // "<i class='glyphicon glyphicon-edit'></i></a>&nbsp;<a class='btn btn-primary btn-sm' attrbtndel='attrbtndel' onclick='datDelete(" + "\"" + row[10] + "\"" + ")'>删除" +
         // "<i class='glyphicon glyphicon-trash'></i></a>";
         //                } else {
         //
         //                    thishtml = "<a class='btn btn-primary btn-sm'  onclick='datEdit(" + "\"" + row[10] + "\"" + ")'>查看" +
         //  "<i class='glyphicon glyphicon-edit'></i></a";
         //                }
         //
         //            }
         //
         //            return thishtml;
         //        }
         //    }, {
         //        "targets": 1,
         //        "render": function (data, type, row, meta) {
         //            return "<a href='#'  onclick='datEdit(" + "\"" + row[10] + "\"" + ")'  ><img  class='img-rounded' style='max-height: 160px; max-width:120px;' src='" + row[1] + "' /></a>"
         //        }
         //    }
        ],
        searching: false,
        paging: true,
        ordering: false,
        scrollX: true,
        scrollY: true,
        scrollCollapse: false,
        jQueryUI: true,
        bInfo: true,
        pageLength: 10
    });




}

/**
 * 检索
 */
function findRecord() {

    dataTables.dataTable().on('preXhr.dt', function (e, settings, fileData) {
        fileData.name = $('#searchName').val();
    }).fnDraw(true);
}




